<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>uupaa-color.js - Reference</title>
<style type="text/css">@import url(./README.css);</style>
<script type="text/javascript" src="http://uupaa-js-spinoff.googlecode.com/svn/trunk/uupaa-detect.js/uupaa-detect.mini.js"></script>
<script type="text/javascript" src="uupaa-color.js"></script>
</head>
<body>
<p>
   | <a href="http://code.google.com/p/uupaa-js-spinoff/">Project Home(Google Code)</a>
   | <a href="./README.htm">README</a>
   | <a href="./DEMO.htm">DEMO</a>
   | <a href="./CLASS.htm">Reference</a> |<br />
   | <a href="./CHANGELOG.htm">ChangeLog</a>
   | <a href="./LICENSE.htm">License</a>
   | <a href="./GLOSSARY.htm">Glossary</a>
   |
</p>

<hr />
|
<a href="#uuClass.Color">uuClass.Color</a> |
<a href="#uuClass.ColorDictionary">uuClass.ColorDictionary</a> |

<hr />
<h2><a name="uuClass.Color">Color</a></h2>
<p>色の相互変換と簡単なフィルター機能を提供します。</p>
<hr />
<dl>
<!-- -->
  <dt><a name="uu.color">uu.color</a> - uuClass.Color factory</dt>
  <dd><p>uu.color(<i>r</i>, <i>g</i> = undefined, <i>b</i> = undefined, <i>a</i> = undefined) は
      new uuClass.Color(<i>r</i>, <i>g</i>, <i>b</i>, <i>a</i>) を実行するファクトリです。
      <br />使用可能な引数等は、<a href="#uuClass.Color.construct">uuClass.Color.construct</a> を参照してください。
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.construct">uuClass.Color.construct</a> - create stack</dt>
  <dd><p>uuClass.Color.construct(<i>r</i>, <i>g</i> = undefined, <i>b</i> = undefined, <i>a</i> = undefined) は
      インスタンスを生成し、<i>r,g,b,a</i>で指定された色を保持するスタックを生成します。
      <br />スタックは、色情報を <a href="GLOSSARY.htm#RGBAHash">RGBAHash</a> の形で保持します。</p>
      <p>uuClass.Colorのインスタンスを引数 <i>r</i> に指定すると、インスタンスが持つスタックを全てコピーします。</p>

<pre>
@param Number     r   - 色の赤成分を数値(0～255)で指定します。
       /String          undefinedを指定するとスタック数0で初期化します。
       /RGBAHash        以下の型も指定可能です。
       /HSVAHash        1. Number( 赤成分 x 65536 + 緑成分 x 256 + 青成分 ) - 数値で色を指定
       /HSLAHash        2. String( "#FFF" )
       /uuClass.Color   3. String( "#FFFFFF" )
       /JointedString   4. String( "red" ) - W3C named color で指定
       /Array           5. String( "tomato" ) - Web named color で指定
                        6. String( "rgb(255,255,255)" ) - rgb で指定
                        7. String( "rgba(0,100%,255,1.0)" ) - rgba で指定
                        8. RGBAHash( { r,g,b,a } )
                        9. HSVAHash( { h,s,v,a } )
                        10. HSLAHash( { h,s,l,a } )
                        11. uuClass.Color - インスタンスを指定
                        12. JointedString( "red;#FFF;rgb(0,0,0)" ) - 複数の色をセミコロン( ";" )で区切り一度に指定
                        13. Array( [ "red", "#FFF", "rgb(0,0,0)" ] ) - 複数の色を配列で一度に指定
@param Number     [g] - 色の緑成分を数値(0～255)で指定します。デフォルトは undefined です。
@param Number     [b] - 色の青成分を数値(0～255)で指定します。デフォルトは undefined です。
@param Number     [a] - アルファ成分を数値(0.0～1.0)で指定します。デフォルトは undefined です。
</pre>
      <p><a href="javascript:var c = uu.color();alert(c.size());alert(uu.color('hoge').size());void 0" class="run">RUN</a>
         引数を指定しない場合や引数が無効な場合は、空のスタックを持つインスタンスが生成されます。</p>
<pre class="eg">
var c = uu.color(); <u>// 空のスタックを持つインスタンスが生成される</u>
alert(c.size()); <u>// 0</u>
alert(uu.color('hoge').size()); <u>// 0, 無効な色名なのでスタックは空になる</u>
</pre>

      <p><a href="javascript:alert(uu.color('red;tomato').size());alert(uu.color(['red', 'tomato']).size());void 0" class="run">RUN</a>
         red と tomato をスタックに積みます。配列を使った初期化もできます。</p>
<pre class="eg">
alert(uu.color('red;tomato').size()); <u>// 2</u>
alert(uu.color(['red', 'tomato']).size()); <u>// 2</u>
</pre>

      <p><a href="javascript:var c1 = uu.color('#888').tone(20, 10, 10);var c2 = uu.color(c1);c1.complementary();alert('c1.top=' + c1 + ' c1.size=' + c1.size());alert('c2.top=' + c2 + ' c2.size=' + c2.size());void 0" class="run">RUN</a>
          uuClass.Colorのインスタンスを指定すると、スタックをコピーします。</p>
<pre class="eg">
var c1 = uu.color('#888').tone(20, 10, 10);
var c2 = uu.color(c1); <u>// copy</u>
c1.complementary(); <u>// c1.size() = 3 </u>
alert('c1.top=' + c1 + ' c1.size=' + c1.size()); <u>// c1.top=#5e696e c1.size=3</u>
alert('c2.top=' + c2 + ' c2.size=' + c2.size()); <u>// c1.top=#a19691 c1.size=2</u>
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.push">uuClass.Color.push</a> - push stack</dt>
  <dd><p>uuClass.Color.push(<i>r</i>, <i>g</i> = undefined, <i>b</i> = undefined, <i>a</i> = undefined) は
      <i>r,g,b,a</i> で指定された色をトップスタックに積みます。</p>
      <p>uuClass.Colorのインスタンスを引数 <i>r</i> に指定すると、インスタンスが持つスタックをコピーし、順にトップスタックに積みます。</p>

<pre>
@param Number     r   - 色の赤成分を数値(0～255)で指定します。
       /String          undefinedを指定するとスタックを追加しません。
       /RGBAHash        以下の型も指定可能です。
       /HSVAHash        1. Number( 赤成分 x 65536 + 緑成分 x 256 + 青成分 ) - 数値で色を指定
       /HSLAHash        2. String( "#FFF" )
       /uuClass.Color   3. String( "#FFFFFF" )
       /JointedString   4. String( "red" ) - W3C named color で指定
       /Array           5. String( "tomato" ) - Web named color で指定
                        6. String( "rgb(255,255,255)" ) - rgb で指定
                        7. String( "rgba(0,100%,255,1.0)" ) - rgba で指定
                        8. RGBAHash( { r,g,b,a } )
                        9. HSVAHash( { h,s,v,a } )
                        10. HSLAHash( { h,s,l,a } )
                        11. uuClass.Color - インスタンスを指定
                        12. JointedString( "red;#FFF;rgb(0,0,0)" ) - 複数の色をセミコロン( ";" )で区切り一度に指定
                        13. Array( [ "red", "#FFF", "rgb(0,0,0)" ] ) - 複数の色を配列で一度に指定
@param Number     [g] - 色の緑成分を数値(0～255)で指定します。デフォルトは undefined です。
@param Number     [b] - 色の青成分を数値(0～255)で指定します。デフォルトは undefined です。
@param Number     [a] - アルファ成分を数値(0.0～1.0)で指定します。デフォルトは undefined です。
@return this          - this を返します。
</pre>

      <p><a href="javascript:var c1=uu.color('#000;#111;#222');c1.push(c1).hexEach(function(v, i){alert(v);});void 0" class="run">RUN</a>
          自分自身のインスタンスを指定すると、スタック数が倍になります。</p>
<pre class="eg">
var c1 = uu.color('#000;#111;#222');
c1.<b>push</b>(<b>c1</b>).hexEach(function(v, i) {
  alert(v); <u>// "#000000", "#111111", "#222222", "#000000", "#111111", "#222222"</u>
});
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.pop">uuClass.Color.pop</a> - pop stack</dt>
  <dd><p>uuClass.Color.pop(<i>colorStyle</i> = "RGBAHash") は トップスタックを削除し、削除したスタックを返します。</p>
      <p>スタックが空の状態で pop() を行うと、透明の黒( RGBAHash{ r: 0, g: 0, b: 0, a: 0 } )を返します。</p>
      <p>unlock()を行います。</p>
<pre>
@param String [colorStyle] - 戻り値のスタイルを指定します。デフォルトは"RGBAHash"です。
@return RGBAHash/String    - 色情報を格納した RGBAHash( { r, g, b, a } ) または
                             指定された形式の色文字列を返します。
</pre>
      <table>
      <tr><th><i>colorStyle</i></th><th>return</th></tr>
      <tr><td>"RGBAHash"</td><td>RGBAHash( { r:0, g:0, b:0, a:0 } )</td></tr>
      <tr><td>"HEX"</td><td>String( "#000000" )</td></tr>
      <tr><td>"RGB"</td><td>String( "rgb(0,0,0)" )</td></tr>
      <tr><td>"RGBA"</td><td>String( "rgba(0,0,0,0)" )</td></tr>
      <tr><td>"HSVA"</td><td>String( "hsva(0,0,0,0)" )</td></tr>
      <tr><td>"HSLA"</td><td>String( "hsla(0,0,0,0)" )</td></tr>
      </table>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.clear">uuClass.Color.clear</a> - clear stack</dt>
  <dd><p>uuClass.Color.clear() は スタックを空(サイズをゼロ)にします。</p>
      <p>unlock()を行います。</p>
<pre>
@return this - this を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.size">uuClass.Color.size</a> - get stack size</dt>
  <dd><p>uuClass.Color.size() は スタックサイズを返します。</p>
<pre>
@return Number - スタックサイズを返します。スタックが空の状態なら0を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.empty">uuClass.Color.empty</a> - is empty stack</dt>
  <dd><p>uuClass.Color.empty() は スタックが空なら true を返します。</p>
<pre>
@return Number - スタックが空なら true を、違うなら false を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.top">uuClass.Color.top</a> - get top stack</dt>
  <dd><p>uuClass.Color.top() は <a href="GLOSSARY.htm#StackNumber">トップスタック</a>の RGBAHash を返します。</p>
      <p>このメソッドは lock の影響を受けません。常にトップスタックの RGBAHash を返します。</p>
<pre>
@return RGBAHash - 色情報を格納した RGBAHash( { r, g, b, a } )を返します。
                   スタックが空なら透明の黒 RGBAHash( { r:0, g:0, b:0, a: 0 } )を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.bottom">uuClass.Color.bottom</a> - get bottom stack</dt>
  <dd><p>uuClass.Color.bottom() は <a href="GLOSSARY.htm#StackNumber">ボトムスタック</a>の RGBAHash を返します。</p>
      <p>このメソッドは lock の影響を受けません。常にボトムスタックの RGBAHash を返します。</p>
<pre>
@return RGBAHash - 色情報を格納した RGBAHash( { r, g, b, a } )を返します。
                   スタックが空なら透明の黒 RGBAHash( { r:0, g:0, b:0, a: 0 } )を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.ref">uuClass.Color.ref</a> - get n stack</dt>
  <dd><p>uuClass.Color.ref(<i>n</i> = undefined) は <i>n</i> 番目のスタックの RGBAHash を返します。</p>
      <p>存在しないスタックを指定した場合は、透明の黒を返します。</p>
      <p>スタック番号(n)には0から始まる整数を指定します。</p>
<pre>
@param Number [n] - スタック番号を指定します。デフォルトは undefined です。
                    undefined を指定するとトップスタック(または lock で束縛されているスタック)の
                    RGBAHash を返します。
@return RGBAHash  - 色情報を格納した RGBAHash( { r, g, b, a } )を返します。
</pre>
      <p>トップスタックのスタック番号は、 <a href="#uuClass.Color.size">size</a>() - 1 で求めることができます。
      <br />ボトムスタックのスタック番号は、0 です。</p>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.copy">uuClass.Color.copy</a> - copy n stack</dt>
  <dd><p>uuClass.Color.copy(<i>n</i> = undefined) は <i>n</i> 番目のスタックの RGBAHash をコピーし、トップスタックに積みます。</p>
      <p>存在しないスタックを指定した場合は、透明の黒をトップスタックに積みます。</p>
<pre>
@param Number [n] - スタック番号を指定します。デフォルトは undefined です。
                    undefined を指定すると
                    トップスタック(または lock で束縛されているスタック)の RGBAHash をコピーし、
                    トップスタックに積みます。
@return this      - this を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.lock">uuClass.Color.lock</a> - lock reference stack</dt>
  <dd><p>uuClass.Color.lock() は その時点のトップスタックを
      <a href="#uuClass.Color.ref">ref</a>(),
      <a href="#uuClass.Color.copy">copy</a>(),
      <a href="#uuClass.Color.hex">hex</a>(),
      <a href="#uuClass.Color.rgb">rgb</a>(),
      <a href="#uuClass.Color.rgba">rgba</a>(),
      <a href="#uuClass.Color.hsva">hsva</a>(),
      <a href="#uuClass.Color.toString">toString</a>(),
      <a href="#uuClass.Color.tone">tone</a>(),
      <a href="#uuClass.Color.complementary">complementary</a>() が 参照するスタックに指定(束縛)します。</p>
      <p>スタックが空なら lock しません。</p>
      <p><a href="#uuClass.Color.unlock">unlock</a>() で lock を解除できます。
      <br /><a href="#uuClass.Color.clear">clear</a>(), <a href="#uuClass.Color.pop">pop</a>() を実行すると自動的に lock が解除されます。</p>
<pre>
@return this - this を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.unlock">uuClass.Color.unlock</a> - unlock reference stack</dt>
  <dd><p>uuClass.Color.unlock() は lock を解除します。</p>
<pre>
@return this - this を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.forEach">uuClass.Color.forEach</a> - stack iteration</dt>
  <dd><p>uuClass.Color.forEach(<i>fn</i>, <i>me</i> = undefined, <i>colorStyle</i> = "RGBAHash") は
      全スタックに対し、<i>fn</i>.call(<i>me</i>, <i>colorStyle</i>(i), index, スタック) を実行します。</p>
<pre>
@param Function fn           - 各スタックを評価する関数を指定します。
@param this     [me]         - fn 実行時の this を指定します。デフォルトは undefined です。
@param String   [colorStyle] - fn の 第一引数に渡す色情報のスタイルを指定します。
                               デフォルトは"RGBAHash"です。
@return this                 - this を返します。
</pre>
      <table>
      <tr><th><i>colorStyle</i></th><th>fn(arg1)</th></tr>
      <tr><td>"RGBAHash"</td><td>RGBAHash( { r:0, g:0, b:0, a:0 } )</td></tr>
      <tr><td>"HEX"</td><td>String( "#000000" )</td></tr>
      <tr><td>"RGB"</td><td>String( "rgb(0,0,0)" )</td></tr>
      <tr><td>"RGBA"</td><td>String( "rgba(0,0,0,0)" )</td></tr>
      <tr><td>"HSVA"</td><td>String( "hsva(0,0,0,0)" )</td></tr>
      <tr><td>"HSLA"</td><td>String( "hsla(0,0,0,0)" )</td></tr>
      </table>
<p><a href="javascript:uu.color('black').push('white').push('green').forEach(function(v, i) {alert(uu.color(v).hex());});void 0" class="run">RUN</a>
   RGBAHashを受け取り、uu.color(v).hex() で HEX に変換します。</p>
<pre class="eg">
uu.color('black').push('white').push('green').<b>forEach</b>(function(v, i) {
  alert(uu.color(v).hex()); <u>// "#000000", "#FFFFFF", "#008800"</u>
});
</pre>

<p><a href="javascript:uu.color('black').push('white').push('green').forEach(function(v, i) {alert(v);},undefined,'HEX');void 0" class="run">RUN</a>
   上の例と同じ結果を得る、より良い書き方(<a href="#uuClass.Color.hexEach">hexEach</a>でも同じ効果が得られる)。</p>
<pre class="eg">
uu.color('black').push('white').push('green').<b>forEach</b>(function(v, i) {
  alert(v); <u>// "#000000", "#FFFFFF", "#008800"</u>
}, undefined, 'HEX');
</pre>

<p><a href="javascript:uu.color('black').push('white').push('green').forEach(function(v, i) {alert(v);},undefined,'HSVA');void 0" class="run">RUN</a>
   HSVA 形式で取得します。</p>
<pre class="eg">
uu.color('black').push('white').push('green').<b>forEach</b>(function(v, i) {
  alert(v); <u>// "hsva(0,0,0,1)", "hsva(0,0,100,1)", "hsva(120,100,53,1)"</u>
}, undefined, 'HSVA');
</pre>

  </dd>
<!-- -->
  <dt><a name="uuClass.Color.hexEach">uuClass.Color.hexEach</a> - stack iteration</dt>
  <dd><p>uuClass.Color.hexEach(<i>fn</i>, <i>me</i> = undefined) は
      全スタックに対し、<i>fn</i>.call(<i>me</i>, hex(i), index, スタック) を実行します。</p>
      <p>このメソッドは、<a href="#uuClass.Color.forEach">forEach</a> を特殊化したコンビニエンスメソッドです。</p>

<pre>
@param Function fn   - 各スタックを評価する関数を指定します。
@param this     [me] - fn 実行時の this を指定します。デフォルトは undefined です。
@return this         - this を返します。
</pre>
<p><a href="javascript:uu.color('black').push('white').push('green').hexEach(function(v, i) {alert(v);});void 0" class="run">RUN</a></p>
<pre class="eg">
uu.color('black').push('white').push('green').<b>hexEach</b>(function(v, i) {
  alert(v); <u>// "#000000", "#FFFFFF", "#008800"</u>
});
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.rgbaEach">uuClass.Color.rgbaEach</a> - stack iteration</dt>
  <dd><p>uuClass.Color.rgbaEach(<i>fn</i>, <i>me</i> = undefined) は
      全スタックに対し、<i>fn</i>.call(<i>me</i>, rgba(i), index, スタック) を実行します。</p>
      <p>このメソッドは、<a href="#uuClass.Color.forEach">forEach</a> を特殊化したコンビニエンスメソッドです。</p>

<pre>
@param Function fn   - 各スタックを評価する関数を指定します。
@param this     [me] - fn 実行時の this を指定します。デフォルトは undefined です。
@return this         - this を返します。
</pre>
<p><a href="javascript:uu.color('black').push('white').push('green').rgbaEach(function(v, i) {alert(v);});void 0" class="run">RUN</a></p>
<pre class="eg">
uu.color('black').push('white').push('green').<b>rgbaEach</b>(function(v, i) {
  alert(v); <u>// "rgba(0,0,0,1)", "rgba(255,255,255,1)", "rgba(0,136,0,1)"</u>
});
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.zero">uuClass.Color.zero</a> - push Transparent black( { r: 0, g: 0, b: 0, a: 0 } ) - 透明な黒</dt>
  <dd><p>uuClass.Color.zero() は
      トップスタックに透明な黒( { r: 0, g: 0, b: 0, a: 0 } )を積みます。</p>
<pre>
@return this - this を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.black">uuClass.Color.black</a> - push Black( { r: 0, g: 0, b: 0, a: 1 } )</dt>
  <dd><p>uuClass.Color.black() は
      トップスタックに黒( { r: 0, g: 0, b: 0, a: 1 } )を積みます。</p>
<pre>
@return this - this を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.white">uuClass.Color.white</a> - push White( { r: 255, g: 255, b: 255, a: 1 } )</dt>
  <dd><p>uuClass.Color.white() は
      トップスタックに白( { r: 255, g: 255, b: 255, a: 1 } )を積みます。</p>
<pre>
@return this - this を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.hex">uuClass.Color.hex</a> - get "#FFFFFF" style color string</dt>
  <dd><p>uuClass.Color.hex(<i>n</i> = undefined) は <i>n</i> 番目のスタックを 色文字列( "#FFFFFF" ) で返します。</p>
<pre>
@param Number [n] - スタック番号を指定します。デフォルトは undefined です。
                    undefined を指定するとトップスタック(または lock で束縛されているスタック)の色文字列を返します。
@return String    - 色文字列( "#FFFFFF" )を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.rgb">uuClass.Color.rgb</a> - get "rgb(0,0,0)" style color string</dt>
  <dd><p>uuClass.Color.rgb(<i>n</i> = undefined) は <i>n</i> 番目のスタックを 色文字列( "rgb(0,0,0)" ) で返します。</p>
<pre>
@param Number [n] - スタック番号を指定します。デフォルトは undefined です。
                    undefined を指定するとトップスタック(または lock で束縛されているスタック)の色文字列を返します。
@return String    - 色文字列( "rgb(0,0,0)" )を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.rgba">uuClass.Color.rgba</a> - get "rgba(0,0,0,0)" style color string</dt>
  <dd><p>uuClass.Color.rgba(<i>n</i> = undefined) は <i>n</i> 番目のスタックを 色文字列( "rgba(0,0,0,0)" ) で返します。</p>
<pre>
@param Number [n] - スタック番号を指定します。デフォルトは undefined です。
                    undefined を指定するとトップスタック(または lock で束縛されているスタック)の色文字列を返します。
@return String    - 色文字列( "rgba(0,0,0,0)" )を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.hsva">uuClass.Color.hsva</a> - get "hsva(0,0,0,0)" style color string</dt>
  <dd><p>uuClass.Color.hsva(<i>n</i> = undefined) は <i>n</i> 番目のスタックを 色文字列( "hsva(0,0,0,0)" ) で返します。</p>
<pre>
@param Number [n] - スタック番号を指定します。デフォルトは undefined です。
                    undefined を指定するとトップスタック(または lock で束縛されているスタック)の色文字列を返します。
@return String    - 色文字列( "hsva(0,0,0,0)" )を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.hsla">uuClass.Color.hsla</a> - get "hsla(0,0,0,0)" style color string</dt>
  <dd><p>uuClass.Color.hsla(<i>n</i> = undefined) は <i>n</i> 番目のスタックを 色文字列( "hsla(0,0,0,0)" ) で返します。</p>
<pre>
@param Number [n] - スタック番号を指定します。デフォルトは undefined です。
                    undefined を指定するとトップスタック(または lock で束縛されているスタック)の色文字列を返します。
@return String    - 色文字列( "hsla(0,0,0,0)" )を返します。
</pre>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.toString">uuClass.Color.toString</a> - get "#FFFFFF" style color string</dt>
  <dd><p>uuClass.Color.toString() は <a href="#uuClass.Color.hex">hex</a>() と同じ結果になります。</p>
  </dd>
<!-- -->
  <dt><a name="uuClass.Color.tone">uuClass.Color.tone</a> - push arrangemented color(Hue, Saturation and Value)
      <br />- 色相(H), 彩度(S), 明度(V)をアレンジした色をスタックに積む</dt>
  <dd><p>uuClass.Color.tone(<i>h</i> = 0, <i>s</i> = 0, <i>v</i> = 0) は、
         トップスタック(または lock で束縛されているスタック)を元に、
         Hue(色相), Saturation(彩度), Value(明度:brightness)をアレンジした新しい色をトップスタックに積みます。</p>
      <p>指定する値は絶対値ではなく増減値です。
      <br /><i>h</i> は、0～360までの色空間を持っており、360と0は連続した色空間として扱われます。
         <br />それに対し、<i>s</i> と <i>v</i> は連続した空間として扱われず、
         0～100 に収まらない値は、0～100に丸められます。</p>
<pre>
@param Number [h] - Hueの増減値(-360～0～360)を指定します。省略可能です。
                    計算結果が0～360を超えた場合は、0～360の値に収まるように補正します。
@param Number [s] - Saturationの増減値(-100～0～100)を指定します。省略可能です。
                    計算結果が0以下なら0に、100を超えた場合は100に補正します。
@param Number [v] - Valueの増減値(-100～0～100)を指定します。省略可能です。
                    計算結果が0以下なら0に、100を超えた場合は100に補正します。
@return this      - this を返します。
</pre>
      h, s, v 全ての引数を省略すると、<a href="#uuClass.Color.copy">copy</a>() と同じ結果になります。
  </dd>

<!-- -->
  <dt><a name="uuClass.Color.complementary">uuClass.Color.complementary</a> - push complementary-colors - 補色をスタックに積む</dt>
  <dd><p>uuClass.Color.complementary() は
         トップスタック(または lock で束縛されているスタック)から補色を生成し、トップスタックに積みます。</p>
<pre>
@return this - this を返します。
</pre>
  </dd>

<!-- -->
  <dt><a name="uuClass.Color.gray">uuClass.Color.gray</a> - push gray-color - グレー化した色をスタックに積む</dt>
  <dd><p>uuClass.Color.gray() は
         トップスタック(または lock で束縛されているスタック)からグレー化した色を生成し、トップスタックに積みます。</p>
      <p>グレー化処理は g を、r と b に上書することで行う擬似的なものです。</p>
<pre>
@return this - this を返します。
</pre>
  </dd>

<!-- -->
  <dt><a name="uuClass.Color.sepia">uuClass.Color.sepia</a> - push sepia-color - セピア化した色をスタックに積む</dt>
  <dd><p>uuClass.Color.sepia() は
         トップスタック(または lock で束縛されているスタック)からセピア化した色を生成し、トップスタックに積みます。</p>
      <p>セピア化は YUV 変換を伴います。</p>
<pre>
@return this - this を返します。
</pre>
  </dd>

</dl>


<hr />
<h2><a name="uuClass.ColorDictionary">ColorDictionary</a></h2>
<p>色辞書を提供します。</p>
<p>uuClass.ColorDictionary は<a href="GLOSSARY.htm#Singleton">シングルトン</a>クラスです。</p>
<hr />
<dl>
<!-- -->
  <dt><a name="uuClass.ColorDictionary.construct">uuClass.ColorDictionary.construct</a> - create dictionary - 辞書の生成</dt>
  <dd><p>uuClass.ColorDictionary.construct() は 辞書を初期化します。</p>
  </dd>
<!-- -->
  <dt><a name="uuClass.ColorDictionary.addColor">uuClass.ColorDictionary.addColor</a> - add user definition color(s) - ユーザー定義カラーを追加</dt>
  <dd><p>uuClass.ColorDictionary.addColor(<i>colors</i>) は <i>colors</i> で指定された色を辞書に追加登録します。</p>
      <p>登録した色は <a href="#uuClass.Color">uuClass.Color</a> で利用可能になります。</p>
<pre>
@param <a href="GLOSSARY.htm#JointedString">JointedString</a> colors - "<i>name</i>:<i>color</i>" をセミコロン( ";" )で結合した文字列を指定します。
                              <i>name</i> には 色名を英数字とアンダースコアからなる文字列で指定します。
                              <i>color</i> には 色を以下のいずれかのスタイルで指定します。
                              1. W3CNamedColor( "red" )
                              2. WebNamedColor( "pink" )
                              3. 16進文字列( "#FFF" )
                              4. 16進文字列( "#FFFFFF" )
                              5. RGB文字列( "rgb(0,0,0)" )
                              6. RGBA文字列( "rgba(0,0,0,0)" )

                              大小文字を区別しないため "MyColor" と "mycolor" は同じ色名として扱われます。
</pre>
<p><a href="javascript:var dict=new uuClass.ColorDictionary();dict.addColor('sakura:#FDD7DE;edomurasaki:#3B1A62');uu.color('sakura').push('edomurasaki').hexEach(function(v, i) {alert(v);});void 0" class="run">RUN</a></p>
<pre class="eg">
var japaneseTraditionalColors = 'sakura:#FDD7DE;edomurasaki:#3B1A62';
var dict = new uuClass.ColorDictionary();
dict.<b>addColor</b>(japaneseTraditionalColors);
uu.color('sakura').push('edomurasaki').hexEach(function(v, i) {
  alert(v); <u>// "#fdd7de", "#3b1a62"</u>
});
</pre>

  </dd>
</dl>

</body>
</html>
